package com.humble.vichatbackend.model.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import com.humble.vichatbackend.model.elastic.domain.SearchBean;
import lombok.Data;

/**
 * 用户
 * @TableName user
 */
@TableName(value ="user")
@Data
public class User{
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户昵称
     */
    @TableField(value = "username")
    private String username;

    /**
     * 账号
     */
    @TableField(value = "user_account")
    private String userAccount;

    /**
     * 用户头像
     */
    @TableField(value = "avatar_url")
    private String avatarUrl;

    /**
     * 性别
     */
    @TableField(value = "gender")
    private Integer gender;

    /**
     * 密码
     */
    @TableField(value = "user_password")
    private String userPassword;

    /**
     * 电话
     */
    @TableField(value = "phone")
    private String phone;

    /**
     * 邮箱
     */
    @TableField(value = "email")
    private String email;

    /**
     * 状态 0 - 正常
     */
    @TableField(value = "user_status")
    private Integer userStatus;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 是否删除
     */
    @TableField(value = "is_delete")
    private Integer isDelete;

    /**
     * 用户角色 0 - 普通用户  1 - 管理员
     */
    @TableField(value = "user_role")
    private Integer userRole;

    /**
     * 标签 json 列表
     */
    @TableField(value = "tags")
    private String tags;

    public String toString() {
        return "User(id=" + this.getId() + ", username=" + this.getUsername() + ", userAccount=" + this.getUserAccount() + ", avatarUrl=" + this.getAvatarUrl() + ", gender=" + this.getGender() + ", phone=" + this.getPhone() + ", email=" + this.getEmail() + ", userStatus=" + this.getUserStatus() + ", createTime=" + this.getCreateTime() + ", updateTime=" + this.getUpdateTime() + ", isDelete=" + this.getIsDelete() + ", userRole=" + this.getUserRole() + ", tags=" + this.getTags() + ")";
    }
}